package com.ruoyi.ora.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 录音回忆录对象 ora_voice_memoir
 * 
 * @author liuwp
 * @date 2025-04-10
 */
public class VoiceMemoir extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 封面 */
    @Excel(name = "封面")
    private String cover;

    private String voiceIds;
    /** 回忆 */
    @Excel(name = "回忆")
    private String memoirIds;

    /** 故事 */
    @Excel(name = "故事")
    private String storyIds;

    /** 文体类型 */
    @Excel(name = "文体类型", dictType = "ora_voice_memoir_write_type")
    private Integer writeType;

    /** 文章长度 */
    @Excel(name = "文章长度", dictType = "ora_voice_memoir_article_length")
    private Integer articleLength;

    /** 标题 */
    @Excel(name = "标题")
    private String title;

    /** 内容 */
    @Excel(name = "内容")
    private String content;

    /** 点赞数 */
    @Excel(name = "点赞数")
    private Integer likeCount;

    /** 评论数 */
    @Excel(name = "评论数")
    private Integer commentCount;

    /** 收藏数量 */
    @Excel(name = "收藏数量")
    private Integer collectCount;

    /** 删除时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "删除时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deleteTime;

    private Integer showType;

    private Long deviceId;

    private Long deviceUserId;

    private List<VoiceRecord> voiceRecords;
    private List<VoiceMemoir> voiceMemoirs;
    private List<VoiceStory> voiceStorys;

    private Long[] deviceUserIds;

    private SysUser sysUser;

    public SysUser getSysUser() {
        return sysUser;
    }

    public void setSysUser(SysUser sysUser) {
        this.sysUser = sysUser;
    }

    public Long[] getDeviceUserIds() {
        return deviceUserIds;
    }

    public void setDeviceUserIds(Long[] deviceUserIds) {
        this.deviceUserIds = deviceUserIds;
    }

    public String getVoiceIds() {
        return voiceIds;
    }

    public void setVoiceIds(String voiceIds) {
        this.voiceIds = voiceIds;
    }

    public List<VoiceRecord> getVoiceRecords() {
        return voiceRecords;
    }

    public void setVoiceRecords(List<VoiceRecord> voiceRecords) {
        this.voiceRecords = voiceRecords;
    }

    public List<VoiceMemoir> getVoiceMemoirs() {
        return voiceMemoirs;
    }

    public void setVoiceMemoirs(List<VoiceMemoir> voiceMemoirs) {
        this.voiceMemoirs = voiceMemoirs;
    }

    public List<VoiceStory> getVoiceStorys() {
        return voiceStorys;
    }

    public void setVoiceStorys(List<VoiceStory> voiceStorys) {
        this.voiceStorys = voiceStorys;
    }

    public Long getDeviceUserId() {
        return deviceUserId;
    }

    public void setDeviceUserId(Long deviceUserId) {
        this.deviceUserId = deviceUserId;
    }

    public Long getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(Long deviceId) {
        this.deviceId = deviceId;
    }

    public Integer getShowType() {
        return showType;
    }

    public void setShowType(Integer showType) {
        this.showType = showType;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setCover(String cover) 
    {
        this.cover = cover;
    }

    public String getCover() 
    {
        return cover;
    }
    public void setMemoirIds(String memoirIds) 
    {
        this.memoirIds = memoirIds;
    }

    public String getMemoirIds() 
    {
        return memoirIds;
    }
    public void setStoryIds(String storyIds) 
    {
        this.storyIds = storyIds;
    }

    public String getStoryIds() 
    {
        return storyIds;
    }
    public void setWriteType(Integer writeType) 
    {
        this.writeType = writeType;
    }

    public Integer getWriteType() 
    {
        return writeType;
    }
    public void setArticleLength(Integer articleLength) 
    {
        this.articleLength = articleLength;
    }

    public Integer getArticleLength() 
    {
        return articleLength;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setLikeCount(Integer likeCount) 
    {
        this.likeCount = likeCount;
    }

    public Integer getLikeCount() 
    {
        return likeCount;
    }
    public void setCommentCount(Integer commentCount) 
    {
        this.commentCount = commentCount;
    }

    public Integer getCommentCount() 
    {
        return commentCount;
    }
    public void setCollectCount(Integer collectCount) 
    {
        this.collectCount = collectCount;
    }

    public Integer getCollectCount() 
    {
        return collectCount;
    }
    public void setDeleteTime(Date deleteTime) 
    {
        this.deleteTime = deleteTime;
    }

    public Date getDeleteTime() 
    {
        return deleteTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("cover", getCover())
            .append("memoirIds", getMemoirIds())
            .append("storyIds", getStoryIds())
            .append("writeType", getWriteType())
            .append("articleLength", getArticleLength())
            .append("title", getTitle())
            .append("content", getContent())
            .append("likeCount", getLikeCount())
            .append("commentCount", getCommentCount())
            .append("collectCount", getCollectCount())
            .append("createTime", getCreateTime())
            .append("deleteTime", getDeleteTime())
            .toString();
    }
}
